package com.sys.app.entity;

public interface  IBaseEnum {
    Integer getValue();
    String getDesc();

    static <E extends Enum<E> & IBaseEnum> E getEnumByName(String name, Class<E> clazz) {
      for (E v: clazz.getEnumConstants()) {
        if(v.name().equals(name)){
            return v;
        }
      }
        return null;
    }

    static <E extends Enum<E> & IBaseEnum> E getEnumByValue(Integer value, Class<E> clazz) {
        for (E v: clazz.getEnumConstants()) {
            if(v.getValue().equals(value)){
                return v;
            }
        }
        return null;
    }
}
